2006-09-08 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtktextbuffer.c (remove_all_selection_clipboards):
+ Don't clear clipboards here, since we are called from finalize
+ and can't emit signals.
+
* configure.in: Set version to 2.11.0
2006-09-06 Richard Hult <richard@imendio.com>
buffer = GTK_TEXT_BUFFER (object);
- remove_all_selection_clipboards (buffer);
-
priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
+ remove_all_selection_clipboards (buffer);
+
if (buffer->tag_table)
{
_gtk_text_tag_table_remove_buffer (buffer->tag_table, buffer);
static void
remove_all_selection_clipboards (GtkTextBuffer *buffer)
{
- GSList *tmp_list = buffer->selection_clipboards;
- while (tmp_list)
- {
- SelectionClipboard *selection_clipboard = tmp_list->data;
-
- if (gtk_clipboard_get_owner (selection_clipboard->clipboard) == G_OBJECT (buffer))
- gtk_clipboard_clear (selection_clipboard->clipboard);
-
- g_free (selection_clipboard);
-
- tmp_list = tmp_list->next;
- }
-
+ g_slist_foreach (buffer->selection_clipboards, (GFunc)g_free, NULL);
g_slist_free (buffer->selection_clipboards);
buffer->selection_clipboards = NULL;
}